package com.quant.mapper;

import com.quant.entity.BacktestResult;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 回测结果数据访问接口
 *
 * @author lulj
 */
@Mapper
public interface BacktestResultMapper {

	/**
	 * 创建回测结果表（如果不存在）
	 */
	void createTableIfNotExists();

	/**
	 * 插入回测结果
	 *
	 * @param backtestResult 回测结果实体
	 * @param taskId         关联的回测任务ID
	 * @return 插入行数
	 */
	int insert(@Param("result") BacktestResult backtestResult, @Param("taskId") Long taskId);

	/**
	 * 根据任务ID查询回测结果
	 *
	 * @param taskId 回测任务ID
	 * @return 回测结果实体
	 */
	BacktestResult selectByTaskId(@Param("taskId") Long taskId);


	/**
	 * 获取最新的回测结果（按完成时间倒序取第一条）
	 */
	BacktestResult selectLatest();
}
